home *** CD-ROM | disk | FTP | other *** search
-
-
-
- iiiillllSSSSppppiiiinnnnLLLLoooocccckkkk((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllSSSSppppiiiinnnnLLLLoooocccckkkk((((3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- iiiillllSSSSppppiiiinnnnLLLLoooocccckkkk - user mode spin-lock services
-
- IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
- This is a base class.
-
- HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
- #include <il/ilSpinLock.h>
-
- CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- This class is an interface to the user mode spin-lock services.
-
- CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
- CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrrssss
-
- ilSpinLock(const char *name=NULL)
- ilSpinLock(ilArena *arena, const char *name=NULL) _p_r_o_t_e_c_t_e_d
- ilSpinLock(_u_s_p_t_r__t *_h, _c_o_n_s_t _c_h_a_r *_n_a_m_e=_N_U_L_L) _p_r_o_t_e_c_t_e_d
-
- RRRRaaaacccceeee----ccccoooonnnnddddiiiittttiiiioooonnnn ffffrrrreeeeeeee ccccoooonnnnssssttttuuuuccccttttiiiioooonnnn
-
- static void atomicCreate(ilSpinLock*& lockp, const char *name=NULL)
-
- LLLLoooocccckkkkiiiinnnngggg aaaannnndddd uuuunnnnlllloooocccckkkkiiiinnnngggg
-
- static void lock()
- static void unlock()
- int set(int spins=defaultSpinCount)
- int cset(int spins=defaultSpinCount)
- int unset()
-
- QQQQuuuueeeerrrriiiieeeessss
-
- int isSet()
- char *getName()
-
- MMMMoooonnnniiiittttoooorrrriiiinnnngggg
-
- static int monitoringLocks()
- void dumpLockStats()
- static void dumpLocks()
-
- IIIInnnniiiittttiiiiaaaalllliiiizzzzaaaattttiiiioooonnnn
-
- int init()
- void initialize(const char *name) _p_r_o_t_e_c_t_e_d
-
-
- FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
- iiiillllSSSSppppiiiinnnnLLLLoooocccckkkk(((())))
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- iiiillllSSSSppppiiiinnnnLLLLoooocccckkkk((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllSSSSppppiiiinnnnLLLLoooocccckkkk((((3333))))
-
-
-
- ilSpinLock(const char *name=NULL)
- ilSpinLock(ilArena *arena, const char *name=NULL) _p_r_o_t_e_c_t_e_d
- ilSpinLock(_u_s_p_t_r__t *_h, _c_o_n_s_t _c_h_a_r *_n_a_m_e=_N_U_L_L) _p_r_o_t_e_c_t_e_d
-
-
- Constructs a spin-lock with the descriptive name given by _n_a_m_e. The
- name is only used to identify the lock for monitoring purposes. The
- second form constructs a lock in the shared-memory arena given by
- _a_r_e_n_a. The third form wraps an ilSpinLock form around the spin-lock
- handle, _h.
-
- aaaattttoooommmmiiiiccccCCCCrrrreeeeaaaatttteeee(((())))
-
- static void atomicCreate(ilSpinLock*& lockp, const char *name=NULL)
-
-
- This static method creates a spinlock "atomically" to avoid MP race
- conditions.
-
- ccccsssseeeetttt(((())))
-
- int cset(int spins=defaultSpinCount)
-
-
- This method acquires the lock conditionally. If the lock can't be
- aquired in _s_p_i_n_s attempts, give up. Returns TRUE if the lock is
- acquired, FALSE otherwise.
-
- dddduuuummmmppppLLLLoooocccckkkkSSSSttttaaaattttssss(((())))
-
- void dumpLockStats()
-
-
- This method prints lock metering information.
-
- dddduuuummmmppppLLLLoooocccckkkkssss(((())))
-
- static void dumpLocks()
-
-
- This method prints info for all locks.
-
- ggggeeeettttNNNNaaaammmmeeee(((())))
-
- char *getName()
-
-
- This method returns the name of this lock.
-
- iiiinnnniiiitttt(((())))
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- iiiillllSSSSppppiiiinnnnLLLLoooocccckkkk((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllSSSSppppiiiinnnnLLLLoooocccckkkk((((3333))))
-
-
-
- int init()
-
-
- This method re-initializes the spin-lock.
-
- iiiinnnniiiittttiiiiaaaalllliiiizzzzeeee(((())))
-
- void initialize(const char *name) _p_r_o_t_e_c_t_e_d
-
-
- This method implements the body of the various constructors.
-
- iiiissssSSSSeeeetttt(((())))
-
- int isSet()
-
-
- This method returns TRUE if the lock is held by the current thread;
- this is good for debugging with asserts, etc.
-
- lllloooocccckkkk(((())))
-
- static void lock()
-
-
- This static method acquires a global spin-lock. The global spin-
- lock is atomically created. It's intended for use in initialization
- code, and should not be frequently locked (i.e. once per execution
- of IL for each piece of initilization code).
-
- mmmmoooonnnniiiittttoooorrrriiiinnnnggggLLLLoooocccckkkkssss(((())))
-
- static int monitoringLocks()
-
-
- This method returns true if locks are being monitored.
-
- sssseeeetttt(((())))
-
- int set(int spins=defaultSpinCount)
-
-
- This method attempts to acquire the lock. If the lock is
- successfully acquired, this method returns TRUE, FALSE otherwise.
- Every _s_p_i_n_s attempts, check to see if anyone at a higher priority is
- able to run.
-
- uuuunnnnlllloooocccckkkk(((())))
-
- static void unlock()
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- iiiillllSSSSppppiiiinnnnLLLLoooocccckkkk((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllSSSSppppiiiinnnnLLLLoooocccckkkk((((3333))))
-
-
-
- This static method releases the global spin-lock. See the lllloooocccckkkk()
- method for more details.
-
- uuuunnnnsssseeeetttt(((())))
-
- int unset()
-
-
- This method releases the lock. This method returns TRUE if the lock
- was actually released, FALSE otherwise (i.e., multiple sssseeeetttt() calls
- on the same lock by the same calling thread).
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- ilSemaphore(3)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-